package main

import (
	"fmt"
)

// WashingMachine 洗衣机
type WashingMachine interface {
	wash()
	dry()
}

// 甩干器
type Dryer struct {
	brand string
}

// 实现WashingMachine接口的dry()方法
func (d Dryer) dry() {
	fmt.Println("甩干衣服")
}

// 海尔洗衣机
type Haier struct {
	name  string
	Dryer //嵌入甩干器
}

// 实现WashingMachine接口的wash()方法
func (h Haier) wash() {
	fmt.Println("洗衣服")
}

func main() {
	var wm WashingMachine
	wm = Haier{
		name: "海尔洗衣机",
		Dryer: Dryer{
			brand: "西门子",
		},
	}

	wm.wash()
	wm.dry()
}
